#pragma once

#include "BasicTypes.h"
#include <functional>

namespace MOE
{
	namespace Core
	{
		// Wrapper of reference wrappers... so the usability doesn't feel weird.
		template <class T>
		tUntypedConstRef CRef(T&& v)
		{
			return &std::cref(v).get();
		}

		template <class T>
		tUntypedRef Ref(T&& v)
		{
			return &std::ref(v).get();
		}
	}
}